require(ggthemes)
require(ggplot2)
require(vegan)
require(dplyr)
require(data.table)
require(tidyr)
From Tyson’s csv.
new_bbs <- read.csv("fifty7_withRTENO.csv")
new_bbs$sum_route_abundance <- rowSums(new_bbs[grep("^Stop[0-9]+", names(new_bbs))])
head(new_bbs)
## RouteDataID countrynum statenum Route RPID year AOU Stop1 Stop2 Stop3
## 1 6243648 124 62 16 101 2001 70 0 0 0
## 2 6243648 124 62 16 101 2001 100 0 0 0
## 3 6243648 124 62 16 101 2001 370 0 0 0
## 4 6243648 124 62 16 101 2001 380 0 0 0
## 5 6243648 124 62 16 101 2001 510 0 5 6
## 6 6243648 124 62 16 101 2001 710 46 0 19
## Stop4 Stop5 Stop6 Stop7 Stop8 Stop9 Stop10 Stop11 Stop12 Stop13 Stop14
## 1 0 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 1 0 0 0 0 1 0
## 3 0 0 0 0 0 0 0 1 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0 0
## 5 0 1 1 10 3 1 5 4 0 0 0
## 6 18 0 0 0 0 0 0 0 0 0 0
## Stop15 Stop16 Stop17 Stop18 Stop19 Stop20 Stop21 Stop22 Stop23 Stop24
## 1 0 0 0 0 0 0 0 2 0 0
## 2 0 2 0 2 0 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 0 0 3 4 0 0 4 0 1 0
## 6 0 0 0 0 0 0 0 0 0 0
## Stop25 Stop26 Stop27 Stop28 Stop29 Stop30 Stop31 Stop32 Stop33 Stop34
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 3 3 0 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 4 0 0 1 5 2 0 0 0 0
## 6 0 0 0 0 0 0 0 0 0 0
## Stop35 Stop36 Stop37 Stop38 Stop39 Stop40 Stop41 Stop42 Stop43 Stop44
## 1 0 0 0 0 0 0 0 0 0 0
## 2 0 0 0 0 0 1 0 0 0 0
## 3 0 0 0 0 0 0 0 0 0 0
## 4 0 0 0 0 0 0 0 0 0 0
## 5 2 0 0 0 0 0 0 0 1 1
## 6 0 0 0 0 0 0 0 0 0 0
## Stop45 Stop46 Stop47 Stop48 Stop49 Stop50 RTENO sum_route_abundance
## 1 0 0 0 0 0 1 62016 3
## 2 0 0 0 0 0 0 62016 13
## 3 0 0 0 0 0 0 62016 1
## 4 1 0 0 0 0 0 62016 1
## 5 0 0 0 0 0 1 62016 65
## 6 0 0 0 0 0 0 62016 83
bird_traits <- read.csv("OH_BBS_1966-2013_traits.csv")
bird_traits <- bird_traits[ , c(1,2,3,4,5,6,7,8,9)]
head(bird_traits[2])
## Scientific.name
## 1 Junco hyemalis
## 2 Colaptes auratus
## 3 Empidonax virescens
## 4 Empidonax alnorum
## 5 Botaurus lentiginosus
## 6 Anas rubripes
names(bird_traits) <- toupper(names(bird_traits))
names(bird_traits) <- gsub("[.]", "_", names(bird_traits)) # using the [] to get the period to be used literally. Or can use "fixed = TRUE"
names(bird_traits)
## [1] "X4_LETTER_CODE" "SCIENTIFIC_NAME" "X6_LETTER_CODE" "HABITAT"
## [5] "DIET" "NESTING" "BEHAVIOR" "CONSERVATION"
## [9] "COMMON_NAME"
bird_traits$SCIENTIFIC_NAME <- toupper(bird_traits$SCIENTIFIC_NAME)
head(bird_traits)
## X4_LETTER_CODE SCIENTIFIC_NAME X6_LETTER_CODE HABITAT
## 1 DEJU JUNCO HYEMALIS JUNHYE forest
## 2 NOFL COLAPTES AURATUS COLAUT open_woodland
## 3 ACFL EMPIDONAX VIRESCENS EMPVIR forest
## 4 ALFL EMPIDONAX ALNORUM EMPALN scrub
## 5 AMBI BOTAURUS LENTIGINOSUS BOTLEN marsh
## 6 ABDU ANAS RUBRIPES ANARUB lake_pond
## DIET NESTING BEHAVIOR CONSERVATION
## 1 seeds ground ground_forager LC
## 2 insects cavity ground_forager LC
## 3 insects tree fly_catching LC
## 4 insects shrub fly_catching LC
## 5 fish ground stalking LC
## 6 insects ground dabbler LC
## COMMON_NAME
## 1 (Slate-colored Junco) Dark-eyed Junco
## 2 (Yellow-shafted Flicker) Northern Flicker
## 3 Acadian Flycatcher
## 4 Alder Flycatcher
## 5 American Bittern
## 6 American Black Duck
AOU_codes <- read.csv("raw_data/AOU_codes.csv") ## a cleaned up (ie header removed, split into columns - no substantive changes to any species names or column headers) version of: ftp://ftpext.usgs.gov/pub/er/md/laurel/BBS/DataFiles/SpeciesList.txt
head(AOU_codes)
## Seq AOU English_Common_Name French_Common_Name
## 1 4 10010 Great Tinamou Grand Tinamou
## 2 7 10030 Little Tinamou Tinamou soui
## 3 10 40080 Thicket Tinamou Tinamou cannelle
## 4 13 10050 Slaty-breasted Tinamou Tinamou de Boucard
## 5 16 1770 Black-bellied Whistling-Duck Dendrocygne \xe0 ventre noir
## 6 19 10200 West Indian Whistling-Duck Dendrocygne des Antilles
## Spanish_Common_Name ORDER Family Genus Species
## 1 Tinamus major Tinamiformes Tinamidae Tinamus major
## 2 Crypturellus soui Tinamiformes Tinamidae Crypturellus soui
## 3 Crypturellus cinnamomeus Tinamiformes Tinamidae Crypturellus cinnamomeus
## 4 Crypturellus boucardi Tinamiformes Tinamidae Crypturellus boucardi
## 5 Dendrocygna autumnalis Anseriformes Anatidae Dendrocygna autumnalis
## 6 Dendrocygna arborea Anseriformes Anatidae Dendrocygna arborea
AOU_codes$common_name <- toupper(AOU_codes$English_Common_Name)
names(AOU_codes)
## [1] "Seq" "AOU" "English_Common_Name"
## [4] "French_Common_Name" "Spanish_Common_Name" "ORDER"
## [7] "Family" "Genus" "Species"
## [10] "common_name"
AOU_codes <- AOU_codes[ , c(2, 10, 6:9)]
names(AOU_codes) <- toupper(names(AOU_codes))
head(AOU_codes)
## AOU COMMON_NAME ORDER FAMILY GENUS
## 1 10010 GREAT TINAMOU Tinamiformes Tinamidae Tinamus
## 2 10030 LITTLE TINAMOU Tinamiformes Tinamidae Crypturellus
## 3 40080 THICKET TINAMOU Tinamiformes Tinamidae Crypturellus
## 4 10050 SLATY-BREASTED TINAMOU Tinamiformes Tinamidae Crypturellus
## 5 1770 BLACK-BELLIED WHISTLING-DUCK Anseriformes Anatidae Dendrocygna
## 6 10200 WEST INDIAN WHISTLING-DUCK Anseriformes Anatidae Dendrocygna
## SPECIES
## 1 major
## 2 soui
## 3 cinnamomeus
## 4 boucardi
## 5 autumnalis
## 6 arborea
AOU_codes$SCIENTIFIC_NAME <- paste(AOU_codes$GENUS, AOU_codes$SPECIES, sep = " ")
AOU_codes$SCIENTIFIC_NAME <- toupper(AOU_codes$SCIENTIFIC_NAME)
#testing that all our traits at leat are in the new AOU codes:
bird_traits$SCIENTIFIC_NAME %in% AOU_codes$SCIENTIFIC_NAME # = not all true.
## [1] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [12] TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [23] TRUE TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE
## [34] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [45] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE
## [56] TRUE TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [67] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE
## [78] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [89] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [100] TRUE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [111] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [122] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [133] TRUE TRUE FALSE TRUE TRUE TRUE FALSE FALSE TRUE TRUE TRUE
## [144] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [155] TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
## [166] FALSE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE
## [177] FALSE FALSE FALSE TRUE TRUE TRUE TRUE FALSE TRUE TRUE TRUE
## [188] TRUE FALSE TRUE TRUE TRUE TRUE FALSE TRUE FALSE TRUE TRUE
## [199] TRUE TRUE FALSE TRUE TRUE TRUE TRUE
AOU_codes$SCIENTIFIC_NAME %in% bird_traits$SCIENTIFIC_NAME # many many falses
## [1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [12] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [23] TRUE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [34] FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE FALSE
## [45] FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
## [56] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [67] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE
## [78] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [89] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE
## [100] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE
## [111] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [122] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [133] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [144] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [155] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [166] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [177] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [188] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [199] FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
## [210] FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE TRUE FALSE FALSE
## [221] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE
## [232] FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [243] FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE
## [254] FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE TRUE
## [265] TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [276] FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE
## [287] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [298] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [309] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE
## [320] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
## [331] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [342] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE
## [353] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
## [364] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [375] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [386] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE
## [397] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [408] FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
## [419] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [430] FALSE TRUE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
## [441] FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [452] FALSE FALSE FALSE TRUE TRUE FALSE TRUE FALSE FALSE FALSE FALSE
## [463] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [474] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [485] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE
## [496] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE
## [507] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [518] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [529] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [540] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [551] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [562] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE
## [573] FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [584] FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
## [595] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [606] FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE TRUE
## [617] FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
## [628] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [639] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
## [650] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [661] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [672] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [683] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [694] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [705] FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
## [716] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [727] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [738] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [749] FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE
## [760] FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
## [771] FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [782] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE
## [793] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [804] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [815] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [826] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [837] FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE TRUE FALSE
## [848] FALSE FALSE TRUE TRUE TRUE FALSE FALSE TRUE FALSE FALSE FALSE
## [859] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
## [870] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE
## [881] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [892] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [903] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [914] FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE FALSE TRUE FALSE
## [925] FALSE FALSE TRUE FALSE FALSE TRUE FALSE FALSE FALSE TRUE FALSE
## [936] TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [947] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [958] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [969] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [980] TRUE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
## [991] TRUE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE TRUE FALSE
## [1002] FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1013] FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE TRUE TRUE
## [1024] FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1035] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE
## [1046] TRUE TRUE FALSE FALSE FALSE FALSE TRUE FALSE TRUE TRUE FALSE
## [1057] FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE
## [1068] FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1079] FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
## [1090] FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE TRUE
## [1101] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1112] FALSE TRUE FALSE FALSE FALSE TRUE FALSE TRUE FALSE FALSE FALSE
## [1123] FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1134] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1145] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE
## [1156] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE TRUE
## [1167] TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE FALSE
## [1178] FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE FALSE FALSE FALSE
## [1189] TRUE FALSE FALSE TRUE TRUE FALSE FALSE TRUE TRUE FALSE TRUE
## [1200] FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE
## [1211] TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
## [1222] FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1233] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1244] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1255] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1266] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
## [1277] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1288] FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE TRUE FALSE
## [1299] FALSE TRUE FALSE FALSE TRUE TRUE FALSE FALSE FALSE FALSE TRUE
## [1310] TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE
## [1321] FALSE TRUE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1332] FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
## [1343] FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE
## [1354] TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE TRUE FALSE
## [1365] FALSE FALSE FALSE FALSE TRUE TRUE TRUE FALSE FALSE FALSE TRUE
## [1376] FALSE FALSE TRUE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE
## [1387] FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
## [1398] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE FALSE
## [1409] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1420] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1431] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1442] FALSE FALSE FALSE FALSE TRUE FALSE FALSE FALSE FALSE FALSE TRUE
## [1453] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
## [1464] FALSE
# merge the AOU codes into the ohio data
Based on Tyson’s GIS analysis.
neonics_buffers <- read.csv("../Pesticides/pest_buff_overtime.csv")
head(neonics_buffers)
## YEAR BBS_route buffer COMPOUND high_kg_buff low_kg_buff ag_pix_buff
## 1 1992 2353 1000 ATRAZINE 859.34 847.89 52707
## 2 1992 2353 1000 GLYPHOSATE 108.95 77.76 52707
## 3 1992 2353 10000 ATRAZINE 8348.23 8223.01 502193
## 4 1992 2353 10000 GLYPHOSATE 1075.86 795.61 502193
## 5 1992 2353 200 ATRAZINE 181.23 178.84 11132
## 6 1992 2353 200 GLYPHOSATE 22.95 16.33 11132
## RTENO
## 1 66083
## 2 66083
## 3 66083
## 4 66083
## 5 66083
## 6 66083
unique(neonics_buffers$YEAR)
## [1] 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005
## [15] 2006 2007 2008 2009 2010 2011
Based on Tyson’s GIS analysis. Notes for the csv: reclass is Anderson Level I land cover: (0=nodata, 1=water, 2=developed, 3=barren, 4=forest, 5=grassland/shrub, 6=agriculture, 7=wetlands). total is the number of pixels (multiply by 0.009 to get square km).
landuse_buffers <- read.csv("../Pesticides/LC_buffers_overtime.csv")
head(landuse_buffers)
## BBS_route reclass buffer YEAR total_pix km2 RTENO
## 1 2310 1 1000 1992 7 0.0063 2310
## 2 2310 2 1000 1992 7447 6.7023 2310
## 3 2310 3 1000 1992 106 0.0954 2310
## 4 2310 6 1000 1992 70656 63.5904 2310
## 5 2310 7 1000 1992 1155 1.0395 2310
## 6 2310 1 10000 1992 2435 2.1915 2310
reclass_table <- data.frame("reclass" = 0:7, "land_cover" = c("nodata", "water", "developed", "barren", "forest", "grassland_shrub", "agriculture", "wetlands"))
landuse_buffers <- merge(landuse_buffers, reclass_table)
class(landuse_buffers$land_cover)
## [1] "factor"
head(landuse_buffers)
## reclass BBS_route buffer YEAR total_pix km2 RTENO land_cover
## 1 1 2310 1000 1992 7.0 0.0063 2310 water
## 2 1 2338 400 1996 229.8 0.2068 66049 water
## 3 1 2322 1000 1993 205.1 0.1846 66022 water
## 4 1 2359 2000 1992 1826.0 1.6434 66113 water
## 5 1 2371 400 1994 210.9 0.1898 66188 water
## 6 1 2310 10000 1992 2435.0 2.1915 2310 water
ggplot(landuse_buffers[landuse_buffers$land_cover %in% c("forest", "agriculture", "developed", "grassland_shrub") & landuse_buffers$buffer == 400, ], aes(x = YEAR, y = total_pix)) +
geom_smooth(aes(colour = land_cover)) +
# geom_density2d(aes(colour = land_cover)) +
geom_point(aes(colour = land_cover), alpha = 0.3, position = position_jitter(width = 0.3))+
theme_bw()+
scale_colour_colorblind("Land Cover", labels = c("Agriculture", "Developed", "Forest", "Grass/Shrub"))+
guides(colour=guide_legend(override.aes=list(fill=NA)))+
theme(legend.position = "bottom", legend.key = element_blank(), legend.background = element_rect(colour = "grey"))
## geom_smooth: method="auto" and size of largest group is >=1000, so using gam with formula: y ~ s(x, bs = "cs"). Use 'method = x' to change the smoothing method.
ggplot(landuse_buffers[landuse_buffers$land_cover %in% c("forest", "agriculture", "developed", "grassland_shrub") & landuse_buffers$buffer == 400, ], aes(x = YEAR, y = total_pix)) +
geom_smooth(aes(colour = land_cover)) +
geom_density2d(aes(colour = land_cover)) +
#geom_point(aes(colour = land_cover), alpha = 0.3, position = position_jitter(width = 0.3))+
theme_bw()+
scale_colour_colorblind("Land Cover", labels = c("Agriculture", "Developed", "Forest", "Grass/Shrub"))+
guides(colour = FALSE) +
facet_wrap(~ land_cover, scales = "free")
## geom_smooth: method="auto" and size of largest group is >=1000, so using gam with formula: y ~ s(x, bs = "cs"). Use 'method = x' to change the smoothing method.
## geom_smooth: method="auto" and size of largest group is >=1000, so using gam with formula: y ~ s(x, bs = "cs"). Use 'method = x' to change the smoothing method.
## geom_smooth: method="auto" and size of largest group is >=1000, so using gam with formula: y ~ s(x, bs = "cs"). Use 'method = x' to change the smoothing method.
## geom_smooth: method="auto" and size of largest group is >=1000, so using gam with formula: y ~ s(x, bs = "cs"). Use 'method = x' to change the smoothing method.
ggplot(landuse_buffers[landuse_buffers$land_cover %in% c("forest", "agriculture", "developed", "grassland_shrub") & landuse_buffers$buffer == 400 & landuse_buffers$YEAR %in% c(1995, 2000, 2005, 2010), ], aes(x = land_cover, y = total_pix)) +
geom_violin(aes(fill = land_cover))+
theme_bw()+
scale_fill_colorblind("Land Cover", labels = c("Agriculture", "Developed", "Forest", "Grass/Shrub")) +
facet_wrap(~YEAR)
ggplot(landuse_buffers[landuse_buffers$land_cover %in% c("forest", "agriculture", "developed", "grassland_shrub") & landuse_buffers$buffer == 400 & landuse_buffers$YEAR %in% c(1995, 2000, 2005, 2010), ], aes(x = factor(YEAR), y = total_pix)) +
geom_violin(aes(fill = land_cover))+
theme_bw()+
scale_fill_colorblind("Land Cover", labels = c("Agriculture", "Developed", "Forest", "Grass/Shrub")) +
guides(fill = FALSE)+
facet_wrap(~land_cover, scales = "free")
summary_landuse <- landuse_buffers[landuse_buffers$land_cover %in% c("forest", "agriculture", "developed", "grassland_shrub"), ] %>% group_by(YEAR, land_cover, buffer) %>% filter(buffer == 400) %>% summarise(total_pix = sum(total_pix))
ggplot(summary_landuse, aes(x = YEAR, y = total_pix)) +
geom_area(aes(fill = land_cover, colour = land_cover), position = "fill")+
theme_bw()+
scale_fill_manual("Land Cover", values = c("sienna4", "gray20", "forestgreen", "orange"), labels = c("Agriculture", "Developed", "Forest", "Grass/Shrub")) +
scale_colour_manual("Land Cover", values = c("sienna4", "gray20", "forestgreen", "orange"), labels = c("Agriculture", "Developed", "Forest", "Grass/Shrub")) +
theme(legend.position = "bottom", legend.background = element_rect(colour = "grey"))
unique(landuse_buffers$buffer)
## [1] 1000 400 2000 10000 5000 200
summary_landuse3 <- landuse_buffers[landuse_buffers$land_cover %in% c("forest", "agriculture", "developed", "grassland_shrub"), ] %>% group_by(YEAR, land_cover, buffer) %>% summarise(total_pix = sum(total_pix))
ggplot(summary_landuse3, aes(x = YEAR, y = total_pix)) +
geom_area(aes(fill = land_cover, colour = land_cover), position = "fill")+
theme_bw()+
scale_fill_manual("Land Cover", values = c("sienna4", "gray20", "forestgreen", "orange"), labels = c("Agriculture", "Developed", "Forest", "Grass/Shrub")) +
scale_colour_manual("Land Cover", values = c("sienna4", "gray20", "forestgreen", "orange"), labels = c("Agriculture", "Developed", "Forest", "Grass/Shrub")) +
theme(legend.position = "bottom", legend.background = element_rect(colour = "grey")) +
facet_wrap(~buffer)
# summary_landuse2 <- landuse_buffers%>% group_by(YEAR, land_cover, buffer) %>% filter(buffer == 400) %>% summarise(total_pix = sum(total_pix))
#
# ggplot(summary_landuse2, aes(x = YEAR, y = total_pix)) +
# geom_area(aes(fill = land_cover, colour = land_cover), position = "fill")+
# theme_bw()+
# #scale_fill_manual("Land Cover", values = c("sienna4", "gray20", "forestgreen", "orange"), labels = c("Agriculture", "Developed", "Forest", "Grass/Shrub")) +
# #scale_colour_manual("Land Cover", values = c("sienna4", "gray20", "forestgreen", "orange"), labels = c("Agriculture", "Developed", "Forest", "Grass/Shrub")) +
# theme(legend.position = "bottom", legend.background = element_rect(colour = "grey"))
head(neonics_buffers)
## YEAR BBS_route buffer COMPOUND high_kg_buff low_kg_buff ag_pix_buff
## 1 1992 2353 1000 ATRAZINE 859.34 847.89 52707
## 2 1992 2353 1000 GLYPHOSATE 108.95 77.76 52707
## 3 1992 2353 10000 ATRAZINE 8348.23 8223.01 502193
## 4 1992 2353 10000 GLYPHOSATE 1075.86 795.61 502193
## 5 1992 2353 200 ATRAZINE 181.23 178.84 11132
## 6 1992 2353 200 GLYPHOSATE 22.95 16.33 11132
## RTENO
## 1 66083
## 2 66083
## 3 66083
## 4 66083
## 5 66083
## 6 66083
head(neonics_buffers[is.na(neonics_buffers$high_kg_buff) | is.na(neonics_buffers$ag_pix_buff) | is.na(neonics_buffers$low_kg_buff), ])
## YEAR BBS_route buffer COMPOUND high_kg_buff low_kg_buff
## 141 1995 2378 10000 IMIDACLOPRID 0.4244 NA
## 144 1995 2378 5000 IMIDACLOPRID 0.1192 NA
## 195 1997 2353 1000 IMIDACLOPRID 1.7907 NA
## 198 1997 2353 10000 IMIDACLOPRID 16.5500 NA
## 201 1997 2353 200 IMIDACLOPRID 0.3804 NA
## 204 1997 2353 2000 IMIDACLOPRID 3.2648 NA
## ag_pix_buff RTENO
## 141 205449 66906
## 144 70705 66906
## 195 52402 66083
## 198 499972 66083
## 201 11106 66083
## 204 95762 66083
head(neonics_buffers[is.na(neonics_buffers$high_kg_buff) | is.na(neonics_buffers$ag_pix_buff) , ])
## YEAR BBS_route buffer COMPOUND high_kg_buff low_kg_buff ag_pix_buff
## 2135 1992 2316 200 ATRAZINE NA NA NA
## 2136 1992 2316 200 GLYPHOSATE NA NA NA
## 2149 1992 2379 200 ATRAZINE NA NA NA
## 2150 1992 2379 200 GLYPHOSATE NA NA NA
## 2167 1993 2316 200 ATRAZINE NA NA NA
## 2168 1993 2316 200 GLYPHOSATE NA NA NA
## RTENO
## 2135 66008
## 2136 66008
## 2149 66907
## 2150 66907
## 2167 66008
## 2168 66008
dim(neonics_buffers[is.na(neonics_buffers$high_kg_buff) | is.na(neonics_buffers$ag_pix_buff) | is.na(neonics_buffers$low_kg_buff), ])
## [1] 11997 8
dim(neonics_buffers[is.na(neonics_buffers$high_kg_buff) | is.na(neonics_buffers$ag_pix_buff), ])
## [1] 1501 8
unique(neonics_buffers$YEAR)
## [1] 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005
## [15] 2006 2007 2008 2009 2010 2011
class(neonics_buffers$high_kg_buff)
## [1] "numeric"
noyear_neonics_buffers <- neonics_buffers %>%
group_by(BBS_route, buffer) %>%
summarise(high_pest = sum(high_kg_buff), agpix = sum(ag_pix_buff))
head(noyear_neonics_buffers)
## Source: local data frame [6 x 4]
## Groups: BBS_route
##
## BBS_route buffer high_pest agpix
## 1 2310 200 NA NA
## 2 2310 400 NA NA
## 3 2310 1000 NA NA
## 4 2310 2000 NA NA
## 5 2310 5000 NA NA
## 6 2310 10000 NA NA
# spps <- spps[!is.na(spps$NMDS1) & !is.na(spps$NMDS2),]
noyear_neonics_buffers <- noyear_neonics_buffers[!is.na(noyear_neonics_buffers$high_pest) & !is.na(noyear_neonics_buffers$agpix), ]
ggplot(noyear_neonics_buffers, aes(y = as.numeric(high_pest/agpix), x = as.numeric(buffer))) +
geom_line(aes(group = BBS_route)) +
geom_smooth()+
theme_bw()
## geom_smooth: method="auto" and size of largest group is <1000, so using loess. Use 'method = x' to change the smoothing method.
ggplot(noyear_neonics_buffers, aes(y = high_pest, x = buffer)) +
geom_line(aes(group = BBS_route)) +
geom_smooth()+
theme_bw()
## geom_smooth: method="auto" and size of largest group is <1000, so using loess. Use 'method = x' to change the smoothing method.
ggplot(noyear_neonics_buffers, aes(y = agpix, x = buffer)) +
geom_line(aes(group = BBS_route)) +
geom_smooth()+
theme_bw()
## geom_smooth: method="auto" and size of largest group is <1000, so using loess. Use 'method = x' to change the smoothing method.
# now to see if intensity has increased over tine
names(neonics_buffers)
## [1] "YEAR" "BBS_route" "buffer" "COMPOUND"
## [5] "high_kg_buff" "low_kg_buff" "ag_pix_buff" "RTENO"
year_neonics_buffers <- neonics_buffers %>%
group_by(BBS_route, YEAR, COMPOUND, buffer) %>%
summarise(intensity = high_kg_buff/ag_pix_buff)
names(year_neonics_buffers)
## [1] "BBS_route" "YEAR" "COMPOUND" "buffer" "intensity"
ggplot(year_neonics_buffers, aes(y = intensity, x = YEAR)) +
geom_line(aes(group = BBS_route)) +
facet_grid(buffer~ COMPOUND, scale = "free") +
theme_bw()
## Warning: Removed 171 rows containing missing values (geom_path).
## Warning: Removed 57 rows containing missing values (geom_path).
## Warning: Removed 171 rows containing missing values (geom_path).
## Warning: Removed 105 rows containing missing values (geom_path).
## Warning: Removed 117 rows containing missing values (geom_path).
## Warning: Removed 39 rows containing missing values (geom_path).
## Warning: Removed 117 rows containing missing values (geom_path).
## Warning: Removed 72 rows containing missing values (geom_path).
## Warning: Removed 54 rows containing missing values (geom_path).
## Warning: Removed 15 rows containing missing values (geom_path).
## Warning: Removed 54 rows containing missing values (geom_path).
## Warning: Removed 33 rows containing missing values (geom_path).
## Warning: Removed 45 rows containing missing values (geom_path).
## Warning: Removed 15 rows containing missing values (geom_path).
## Warning: Removed 45 rows containing missing values (geom_path).
## Warning: Removed 27 rows containing missing values (geom_path).
## Warning: Removed 81 rows containing missing values (geom_path).
## Warning: Removed 27 rows containing missing values (geom_path).
## Warning: Removed 81 rows containing missing values (geom_path).
## Warning: Removed 51 rows containing missing values (geom_path).
## Warning: Removed 36 rows containing missing values (geom_path).
## Warning: Removed 12 rows containing missing values (geom_path).
## Warning: Removed 36 rows containing missing values (geom_path).
## Warning: Removed 24 rows containing missing values (geom_path).
year_neonics_buffers2 <- neonics_buffers %>%
group_by(BBS_route, YEAR, COMPOUND) %>%
summarise(intensity = mean(high_kg_buff/ag_pix_buff))
ggplot(year_neonics_buffers2, aes(y = intensity, x = YEAR)) +
geom_line(aes(group = BBS_route)) +
facet_wrap(~ COMPOUND, scale = "free") +
theme_bw()
## Warning: Removed 279 rows containing missing values (geom_path).
## Warning: Removed 90 rows containing missing values (geom_path).
## Warning: Removed 279 rows containing missing values (geom_path).
## Warning: Removed 183 rows containing missing values (geom_path).
ggplot(year_neonics_buffers2, aes(y = intensity, x = YEAR)) +
geom_line(aes(group = BBS_route)) +
facet_wrap(~ COMPOUND) +
theme_bw()
## Warning: Removed 279 rows containing missing values (geom_path).
## Warning: Removed 90 rows containing missing values (geom_path).
## Warning: Removed 279 rows containing missing values (geom_path).
## Warning: Removed 183 rows containing missing values (geom_path).